home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / tree / AbstractLayoutCache.class (.txt) next >
Encoding:
Java Class File  |  1999-07-15  |  3.7 KB  |  165 lines

  1. package javax.swing.tree;
  2.  
  3. import java.awt.Rectangle;
  4. import java.util.Enumeration;
  5. import javax.swing.event.TreeModelEvent;
  6.  
  7. public abstract class AbstractLayoutCache implements RowMapper {
  8.    protected NodeDimensions nodeDimensions;
  9.    protected TreeModel treeModel;
  10.    protected TreeSelectionModel treeSelectionModel;
  11.    protected boolean rootVisible;
  12.    protected int rowHeight;
  13.  
  14.    public abstract Rectangle getBounds(TreePath var1, Rectangle var2);
  15.  
  16.    public abstract boolean getExpandedState(TreePath var1);
  17.  
  18.    public TreeModel getModel() {
  19.       return this.treeModel;
  20.    }
  21.  
  22.    public NodeDimensions getNodeDimensions() {
  23.       return this.nodeDimensions;
  24.    }
  25.  
  26.    protected Rectangle getNodeDimensions(Object var1, int var2, int var3, boolean var4, Rectangle var5) {
  27.       NodeDimensions var6 = this.getNodeDimensions();
  28.       return var6 != null ? var6.getNodeDimensions(var1, var2, var3, var4, var5) : null;
  29.    }
  30.  
  31.    public abstract TreePath getPathClosestTo(int var1, int var2);
  32.  
  33.    public abstract TreePath getPathForRow(int var1);
  34.  
  35.    public int getPreferredHeight() {
  36.       int var1 = this.getRowCount();
  37.       if (var1 > 0) {
  38.          Rectangle var2 = this.getBounds(this.getPathForRow(var1 - 1), (Rectangle)null);
  39.          if (var2 != null) {
  40.             return var2.y + var2.height;
  41.          }
  42.       }
  43.  
  44.       return 0;
  45.    }
  46.  
  47.    public int getPreferredWidth(Rectangle var1) {
  48.       int var2 = this.getRowCount();
  49.       if (var2 > 0) {
  50.          TreePath var3;
  51.          int var4;
  52.          if (var1 == null) {
  53.             var3 = this.getPathForRow(0);
  54.             var4 = Integer.MAX_VALUE;
  55.          } else {
  56.             var3 = this.getPathClosestTo(var1.x, var1.y);
  57.             var4 = var1.height + var1.y;
  58.          }
  59.  
  60.          Enumeration var5 = this.getVisiblePathsFrom(var3);
  61.          if (var5 != null && var5.hasMoreElements()) {
  62.             Rectangle var6 = this.getBounds((TreePath)var5.nextElement(), (Rectangle)null);
  63.             int var7;
  64.             if (var6 != null) {
  65.                var7 = var6.x + var6.width;
  66.             } else {
  67.                var7 = 0;
  68.             }
  69.  
  70.             while(var6 != null && var5.hasMoreElements() && var6.y < var4) {
  71.                var7 = Math.max(var7, var6.x + var6.width);
  72.                var6 = this.getBounds((TreePath)var5.nextElement(), var6);
  73.             }
  74.  
  75.             return var7;
  76.          }
  77.       }
  78.  
  79.       return 0;
  80.    }
  81.  
  82.    public abstract int getRowCount();
  83.  
  84.    public abstract int getRowForPath(TreePath var1);
  85.  
  86.    public int getRowHeight() {
  87.       return this.rowHeight;
  88.    }
  89.  
  90.    public int[] getRowsForPaths(TreePath[] var1) {
  91.       if (var1 == null) {
  92.          return null;
  93.       } else {
  94.          int var2 = var1.length;
  95.          int[] var3 = new int[var2];
  96.  
  97.          for(int var4 = 0; var4 < var2; ++var4) {
  98.             var3[var4] = this.getRowForPath(var1[var4]);
  99.          }
  100.  
  101.          return var3;
  102.       }
  103.    }
  104.  
  105.    public TreeSelectionModel getSelectionModel() {
  106.       return this.treeSelectionModel;
  107.    }
  108.  
  109.    public abstract int getVisibleChildCount(TreePath var1);
  110.  
  111.    public abstract Enumeration getVisiblePathsFrom(TreePath var1);
  112.  
  113.    public abstract void invalidatePathBounds(TreePath var1);
  114.  
  115.    public abstract void invalidateSizes();
  116.  
  117.    public abstract boolean isExpanded(TreePath var1);
  118.  
  119.    protected boolean isFixedRowHeight() {
  120.       return this.rowHeight > 0;
  121.    }
  122.  
  123.    public boolean isRootVisible() {
  124.       return this.rootVisible;
  125.    }
  126.  
  127.    public abstract void setExpandedState(TreePath var1, boolean var2);
  128.  
  129.    public void setModel(TreeModel var1) {
  130.       this.treeModel = var1;
  131.    }
  132.  
  133.    public void setNodeDimensions(NodeDimensions var1) {
  134.       this.nodeDimensions = var1;
  135.    }
  136.  
  137.    public void setRootVisible(boolean var1) {
  138.       this.rootVisible = var1;
  139.    }
  140.  
  141.    public void setRowHeight(int var1) {
  142.       this.rowHeight = var1;
  143.    }
  144.  
  145.    public void setSelectionModel(TreeSelectionModel var1) {
  146.       if (this.treeSelectionModel != null) {
  147.          this.treeSelectionModel.setRowMapper((RowMapper)null);
  148.       }
  149.  
  150.       this.treeSelectionModel = var1;
  151.       if (this.treeSelectionModel != null) {
  152.          this.treeSelectionModel.setRowMapper(this);
  153.       }
  154.  
  155.    }
  156.  
  157.    public abstract void treeNodesChanged(TreeModelEvent var1);
  158.  
  159.    public abstract void treeNodesInserted(TreeModelEvent var1);
  160.  
  161.    public abstract void treeNodesRemoved(TreeModelEvent var1);
  162.  
  163.    public abstract void treeStructureChanged(TreeModelEvent var1);
  164. }
  165.